public class Test{
    public static void main(String[] args){
        // System.out.println("hello java!");
        Object o = 123L;
        String formatted = switch (o) {
            case Integer i -> String.format("int %d", i);
            case Long l    -> String.format("long %d", l);
            case Double d  -> String.format("double %f", d);
            case String s  -> String.format("String %s", s);
            default        -> o.toString();
        };
        ystem.out.println(formatted);
    }
   

    private static String formatterPatternSwitch(Object o) {
        return switch (o) {
            case Integer i -> String.format("int %d", i);
            case Long l    -> String.format("long %d", l);
            case Double d  -> String.format("double %f", d);
            case String s  -> String.format("String %s", s);
            default        -> o.toString();
        };
    }
    // static void testFooBar(String s) {
    //     if (s == null) {
    //         System.out.println("oops!");
    //         return;
    //     }
    //     switch (s) {
    //         case "Foo", "Bar" -> System.out.println("Great");
    //         default           -> System.out.println("Ok");
    //     }
    // }
}